package com.tinet.ejemplos.bean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import cl.tinet.ejemplos.Usuario;
import cl.tinet.ejemplos.UsuarioDao;

@Stateless(mappedName="userbean", name="userbean")
public class UsuarioBeanImpl implements UsuarioBean {

	private UsuarioDao dao;
	List<Usuario> usuarios;

	/*
	 * Entity manager para manejar la conexion con la capa de persistencia
	 */
	@PersistenceContext(unitName = "MySqlDS")
	private EntityManager em;

	@PostConstruct
	// crea una instancia de dao en la clase bean
	private void init() {
		if (dao == null) {
			dao = new UsuarioDao(em);

		}
	}

	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(ArrayList<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public EntityManager getEm() {
		return em;
	}

	public void setEm(EntityManager em) {
		this.em = em;
	}

	// Aqui comienzan las clases heredadas de la interfaz

	public List<Usuario> mostrarTodo() { // muestra todos los datos de la tabla

		return dao.mostrarTodo();
		

	}
	
	public Usuario mostrarUsuario(Usuario usuario) {//muestra un solo usuario

		return dao.mostrarUsuario(usuario);
		

	}
	

	public void insertar(Usuario usuario) {
		System.out.println("entro  al bean");
		dao.insertar(usuario);

	}

	public void editar(Usuario usuario) {
		dao.editar(usuario);

	}

	public Usuario buscar(ArrayList<Usuario> lista, Usuario user) {
		// TODO Auto-generated method stub
		return null;
	}

	public void eliminar(Usuario usuario) {
		dao.eliminar(usuario);
		
	}

}
